//请求拦截器定义
/*
 * @description: 网络请求拦截器（注意拦截器中的this是指向minapp-api-promise实例本身）
 * @Author: yangchunfu
 */
const URL_STORAGE = {};
var app = getApp();

const util = require('../util.js');
export default {
    // 发出请求时的回调函数
    config(config) {
        // 请求前设置token
        let token = '';
       
        return config
    },

    // 请求成功后的回调函数
     success(resp) {
         console.log(resp)
        this.hideLoading()
        let errorMesg = ''
        // 可以在这里对收到的响应数据对象进行加工处理
        switch (resp.statusCode) {
            case 200:
                break
            case 401:
                //重新登录
                wx.navigateTo({
                  url: '/pages/v4_sass/login/service',
                })
                break;
            case 403:
                errorMesg = !util.isUndefined(resp.data.msg)  || '请求失败';
                resp.data = {
                    'msg' : errorMesg,
                    'code' : 0,
                    'data': '',
                }
               break;
            case 500:
            case 502:
                errorMesg = resp.data.msg  || '服务器出错';
                resp.data = {
                    'msg' : errorMesg,
                    'code' : 0,
                    'data': '',
                }
                break;
            case 503:
                errorMesg = '哦～服务器宕机了'
                resp.data = {
                    'msg' : errorMesg,
                    'code' : 0,
                    'data': '',
                }
                break;
            case 404:
                errorMesg = resp.data.msg  || '接口不存在';

                resp.data = {
                    'msg' : errorMesg,
                    'code' : 0,
                    'data': '',
                }
                break;
            default:
                resp.data = {
                    'msg' : '未知错误',
                    'code' : 0,
                    'data': '',
                }
                break;
        }
       
        return resp
    },

    fail(resp) {
        this.showToast({
            title: '网络连接失败',
            icon: 'none'
        })
    },
    complete: (res) => {
        // 控制台调试日志
        // 隐藏加载提示
        wx.hideNavigationBarLoading();
    }
}